package validate

import (
	"gin/common"
	"github.com/Gre-Z/common/jtime"
)

type AddSentenceNerTokenWrapper struct {
	Data AddSentenceNerToken `json:"data" binding:"required"`
}

type UpdateSentenceNerTokenWrapper struct {
	Data UpdateSentenceNerToken `json:"data" binding:"required"`
}
type UpdateSentenceNerToken struct {
	Id          uint64           `json:"id" binding:"required"`
	BeginOffset uint64           `json:"begin_offset" binding:"required,min=0"`
	Word        string           `json:"word" binding:"required,max=255"`
	Length      uint64           `json:"length" binding:"min=0"`
	Type        string           `json:"type" binding:"required,max=128"`
	SentenceId  uint64           `json:"sentence_id" binding:"required,min=0"`
	Created     jtime.TstampTime `json:"created"`
}

type AddSentenceNerToken struct {
	Id          uint64           `json:"id"`
	BeginOffset uint64           `json:"begin_offset" binding:"required,min=0"`
	Word        string           `json:"word" binding:"required,max=255"`
	Length      uint64           `json:"length" binding:"min=0"`
	Type        string           `json:"type" binding:"required,max=128"`
	SentenceId  uint64           `json:"sentence_id" binding:"required,min=0"`
	Created     jtime.TstampTime `json:"created"`
}

type SelectSentenceNerTokenQuery struct {
	Param common.QueryParam `json:"param" binding:"required"`
}

type DeleteSentenceNerTokenParam struct {
	Param common.Filter `json:"param" binding:"required"`
}
